from django.shortcuts import render,redirect,reverse  # 页面重定向模块
from .models import BlogModel  # 导入模型类
from django.http import HttpResponse

# Create your views here.
# 博客首页
def demo_index(request):
    return render(request,'blog/demo_index.html')

# 博客添加页
def demo_add(request):  # request.method ：get(访问页面) post(数据提交)
    if request.method == 'GET':
        return render(request,'blog/demo_add.html')  # 渲染跳转到该网页

    elif request.method == 'POST':  # 提交了数据
        # 标题和内容
        title = request.POST.get('title')
        content = request.POST.get('content')
        # 存放数据至数据库
        BlogModel.objects.get_or_create(title=title,content=content)
        b_list = BlogModel.objects.all()  # 获取所有的行  索引取出 ，for循环取出

        return render(request,'blog/demo_list.html',context={'b_list':b_list})


# 博客列表页
def demo_list(request):
    # 获取数据库所有行
    b_list = BlogModel.objects.all()  # 获取所有的行  索引取出 ，for循环取出
    # print(b_list[0].title)
    return render(request, 'blog/demo_list.html', context={'b_list': b_list})

# 博客详情页
def demo_detail(request,blog_id):  # 来自于列表页中的字段id
    blog = BlogModel.objects.get(id=blog_id)  # 指定这个id字段的那一行
    return render(request, 'blog/demo_detail.html', context={'blog': blog})


# 博客删除功能
def delete(request,blog_id):  # 来自于列表页中的字段id
    blog = BlogModel.objects.get(id=blog_id)  # 指定这个id字段的那一行
    if blog:  # 如果获取到数据
        blog.delete()  #删除
        return redirect(reverse('demo_list'))
    else:
        return HttpResponse('该文章不存在，无法删除！')

# 博客修改功能
def update(request,blog_id):  # 来自于列表页中的字段id
    blog = BlogModel.objects.get(id=blog_id)  # 指定这个id字段的那一行

    if request.method == 'GET':
        return render(request, 'blog/demo_update.html',context={'blog':blog})  # 渲染跳转到该网页

    elif request.method == 'POST':  # 提交修改的数据
        # 标题和内容
        title = request.POST.get('title')  # 修改后的标题
        content = request.POST.get('content')  # 修改后的内容

        blog.title = title
        blog.content = content
        blog.save()  # 保存
        return redirect(reverse('demo_list'))

    else:
        return HttpResponse('该文章不存在，无法删除！')



